package com.dd.poetry

import android.app.Application
import com.alibaba.android.arouter.BuildConfig
import com.alibaba.android.arouter.launcher.ARouter
import com.dd.lnetwork.RetrofitClient
import com.dd.lnetwork.provider.IProvider
import com.dd.lnetwork.provider.ProviderManger
import com.tencent.mmkv.MMKV

class CustomerApplication : Application() {
    override fun onCreate() {
        super.onCreate()
        initMMKV()
        initARouter()
        initProvider()
    }

    private fun initARouter() {
        if (isDebug()) {           // 这两行必须写在init之前，否则这些配置在init过程中将无效
            ARouter.openLog();     // 打印日志
            ARouter.openDebug();   // 开启调试模式(如果在InstantRun模式下运行，必须开启调试模式！线上版本需要关闭,否则有安全风险)
        }
        ARouter.init(this); // 尽可能早，推荐在Application中初始化
    }

    private fun isDebug(): Boolean {
        return BuildConfig.DEBUG
    }

    private fun initProvider() {
        ProviderManger.init(this)
        ProviderManger.getInstance("", "", HashSet())
            .addProvider(IProvider::class.java, RetrofitClient::class.java)
    }

    private fun initMMKV() {
        MMKV.initialize(this)
    }
}